﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace RDD
{
    public partial class RegiPago : Form
    {
        private Importacion mImport;
        public RegiPago(Importacion pImport, char pAccion)
        {
            InitializeComponent();
            mImport = pImport;
            if (pAccion == 'B')
            {
                //Si va a borrar el pago, se graba en nulo la fecha y el valor en cero
                mImport.FechReem = null;
                mImport.ValorReem = 0;
                txtFechReem.Enabled = false;
                txtValorReem.Enabled = false;
            }
        }
        private void RegiPago_Load(object sender, EventArgs e)
        {
            //Mostrar datos
            txtNumeroImpo.Value = mImport.ImportID;
            txtValorImpo.Value = mImport.ValorCol;
            txtFechRemi.Value = mImport.FechRemi;
            txtFechReem.Value = mImport.FechReem;
            txtValorReem.Value = mImport.ValorReem;
            txtFechReem.Focus();
        }

        private void cmdCancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }


        private void txtFechReem_Enter(object sender, EventArgs e)
        {
            txtFechReem.SelectAll();
        }

        private void txtValorReem_Enter(object sender, EventArgs e)
        {
            txtValorReem.SelectAll();
        }

        private void cmdAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                this.Cursor = Cursors.WaitCursor;

                string tMsg = "";
                if (txtValorReem.Enabled)
                {
                    //Validar valores a grabar en el pago
                    if (Convert.ToDateTime(txtFechReem.Value) > DateTime.Today)
                    {
                        tMsg = "La fecha del reembolso no puede ser mayor a la fecha actual.";
                    }
                    else if (Convert.ToDateTime(txtFechReem.Value) < Convert.ToDateTime(txtFechRemi.Value))
                    {
                        tMsg = "La fecha del reembolso no puede ser menor a la fecha de Remisión de la póliza de Importación.";
                    }
                    else if (Convert.ToDouble(txtValorReem.Value) <= 0)
                    {
                        tMsg = "El valor del reembolso debe ser mayor a cero.";
                    }
                    mImport.FechReem = Convert.ToDateTime(txtFechReem.Value);
                    mImport.ValorReem = Convert.ToDouble(txtValorReem.Value);
                    mImport.Estado = 'G';
                }
                else
                {
                    mImport.FechReem = null;
                    mImport.ValorReem = 0;
                    //Se esta borrando el pago, vuelve a estado Remitido
                    mImport.Estado = 'R';
                }
                if (tMsg.Length == 0)
                {
                    //Registrar pago de la impo

                    mImport.FechModi = DateTime.Now;
                    mImport.UsuaModi = Valores.USUARIO;
                    mImport.pagarImportacion();
                    MessageBox.Show("Operación Exitosa. Esta ventana se cerrará.", Constantes.RDD, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.Close();
                }
                else
                {
                    MessageBox.Show("Error al registrar pago reembolso : " + tMsg, Constantes.RDD, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error al registrar pago reembolso : " + ex.Message, Constantes.RDD, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }

    }
}
